/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package view.forms;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.bean.ActaElectoral;
import model.bean.CedulaVotacion;
import model.bean.Eleccion;
import model.bean.ListaCandidatos;
import model.bean.MesaVotacion;
import model.bean.MiembroLista;
import model.bean.PadronElectoral;
import model.bean.Puesto;
import model.bean.Socio;
import model.factory.RecreacionalFactory;
import model.service.ActaElectoralService;
import model.service.CedulaVotacionService;
import model.service.ListaCandidatosService;
import model.service.MiembroListaService;
import model.service.PadronElectoralService;
import model.service.MesaVotacionService;

/**
 *
 * @author moshiro
 */
public class Test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //List<ActaElectoral> lista = call();
        //insert();
        //delete();
        //update();
        //insertCV();
        //callCV();
        //callMV();
        //updateCD();
        //deleteCV();
        //callLC();
        callML();
        //callPE();
        //insertPE();
        //deletePE();
        //insertML();
        //deleteML();
        //insertLC();
        //deleteLC();
    }

    public static ActaElectoralService getActaElectoralService() {
        return RecreacionalFactory.getInstance().getActaElectoralService();
    }

    public static CedulaVotacionService getCedulaVotacionService() {
        return RecreacionalFactory.getInstance().getCedulaVotacionService();
    }

    public static ListaCandidatosService getListaCandidatosService() {
        return RecreacionalFactory.getInstance().getListaCandidatosService();
    }

    public static MiembroListaService getMiembroListaService() {
        return RecreacionalFactory.getInstance().getMiembroListaService();
    }

    public static PadronElectoralService getPadronElectoralService() {
        return RecreacionalFactory.getInstance().getPadronElectoralService();
    }

    public static MesaVotacionService getMesaVotacionService() {
        return RecreacionalFactory.getInstance().getMesaVotacionService();
    }

    public static List<PadronElectoral> callPE() {
        List<PadronElectoral> lista = null;
        try {
            lista = getPadronElectoralService().listarPadronElectoral(null);
            for (int i = 0; i < lista.size(); i++) {
                PadronElectoral padronElectoral = lista.get(i);
                System.out.println(padronElectoral.getPuesto().getDescripcion());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

    public static List<ListaCandidatos> callLC() {
        List<ListaCandidatos> lista = null;
        try {
            lista = getListaCandidatosService().listarListaCandidatos(null);
            for (int i = 0; i < lista.size(); i++) {
                ListaCandidatos listaCandidatos = lista.get(i);
                System.out.println(listaCandidatos.getCodigo());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

    public static List<MiembroLista> callML() {
        List<MiembroLista> lista = null;
        try {
            lista = getMiembroListaService().listarMiembroLista(null);
            for (int i = 0; i < lista.size(); i++) {
                MiembroLista miembroLista = lista.get(i);
                System.out.println(miembroLista.getCodigo());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

    public static List<CedulaVotacion> callCV() {
        List<CedulaVotacion> lista = null;
        try {
            lista = getCedulaVotacionService().listarCedulaVotacion(null);
            for (int i = 0; i < lista.size(); i++) {
                CedulaVotacion cedulaVotacion = lista.get(i);
                System.out.println(cedulaVotacion.getCodigo());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

    public static List<ActaElectoral> callAE() {
        List<ActaElectoral> lista = null;
        try {
            lista = getActaElectoralService().listarActaElectoral(null);
            for (int i = 0; i < lista.size(); i++) {
                ActaElectoral actaElectoral = lista.get(i);
                System.out.println(actaElectoral.getCodigo());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

    public static List<MesaVotacion> callMV() {
        List<MesaVotacion> lista = null;
        try {
            lista = getMesaVotacionService().listarMesaVotacion(null);
            for (int i = 0; i < lista.size(); i++) {
                MesaVotacion mesaVotacion = lista.get(i);
                System.out.println(mesaVotacion.getCodigo());
            }
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }


    public static void insertML() {
        try {
            Socio socio = new Socio();
            socio.setCodigo(1L);

            ListaCandidatos lista = new ListaCandidatos();
            lista.setCodigo(1L);

            Puesto puesto = new Puesto();
            puesto.setCodigo(1L);

            MiembroLista miembro = new MiembroLista();
            miembro.setCodigo(Long.MIN_VALUE);
            miembro.setSocio(socio);
            miembro.setListaCandidatos(lista);
            miembro.setPuesto(puesto);

            Long result = getMiembroListaService().agregarMiembroLista(miembro);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void insertPE() {
        try {
            Socio socio = new Socio();
            socio.setCodigo(1L);

            ActaElectoral acta = new ActaElectoral();
            acta.setCodigo(1L);

            Puesto puesto = new Puesto();
            puesto.setCodigo(1L);

            PadronElectoral padron = new PadronElectoral();
            padron.setCodigo(Long.MIN_VALUE);
            padron.setSocio(socio);
            padron.setActaElectoral(acta);
            padron.setPuesto(puesto);
            padron.setEstado(1);

            Long result = getPadronElectoralService().agregarPadronElectoral(padron);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void insertAE() {
        try {
            Eleccion eleccion = new Eleccion();
            eleccion.setCodigo(1L);
            MesaVotacion mesa = new MesaVotacion();
            mesa.setCodigo(1L);
            ActaElectoral acta = new ActaElectoral();
            acta.setCodigo(Long.MIN_VALUE);
            acta.setEleccion(eleccion);
            acta.setMesaVotacion(mesa);
            acta.setElectores(50L);
            acta.setVotoValido(20L);
            acta.setVotoBlanco(2L);
            acta.setVotoAusente(28L);
            acta.setEstado(1);
            acta.setIncidente("");
            Long result = getActaElectoralService().agregarActaElectoral(acta);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void insertCV() {
        try {
            ListaCandidatos lista = new ListaCandidatos();
            lista.setCodigo(1L);
            MesaVotacion mesa = new MesaVotacion();
            mesa.setCodigo(1L);
            CedulaVotacion cedula = new CedulaVotacion();
            cedula.setCodigo(Long.MIN_VALUE);
            cedula.setFecha("2008-01-01");
            cedula.setEstado(1);
            cedula.setListaCandidatos(lista);
            cedula.setMesaVotacion(mesa);
            cedula.setNombreComputador("192.168.5.152");
            Long result = getCedulaVotacionService().agregarCedulaVotacion(cedula);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public static void insertLC() {
        try {
            ListaCandidatos lista = new ListaCandidatos();
            lista.setEstado(1);
            lista.setLogo("logo.jpg");
            lista.setNombre("los greats");
            lista.setFecha("2008-02-03");
            //Long result = getListaCandidatosService().agregarListaCandidatos(lista);
            //System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


    public static void deleteAE() {
        try {
            int result = getActaElectoralService().eliminarActaElectoral(10L);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void deleteCV() {
        try {
            int result = getCedulaVotacionService().eliminarCedulaVotacion(309L);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void deletePE() {
        try {
            int result = getPadronElectoralService().eliminarPadronElectoral(403L);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void deleteML() {
        try {
            int result = getMiembroListaService().eliminarMiembroLista(27L);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void deleteLC() {
        try {
            int result = getListaCandidatosService().eliminarListaCandidatos(8L);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void updateAE() {
        try {
            MesaVotacion mesa = new MesaVotacion();
            mesa.setCodigo(2L);
            ActaElectoral acta = new ActaElectoral();
            acta.setCodigo(10L);
            acta.setMesaVotacion(mesa);
            acta.setElectores(100L);
            acta.setVotoValido(100L);
            acta.setVotoBlanco(100L);
            acta.setVotoAusente(100L);
            acta.setEstado(0);
            acta.setIncidente("");
            int result = getActaElectoralService().modificarActaElectoral(acta);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void updateCD() {
        try {
            CedulaVotacion cedula = new CedulaVotacion();
            cedula.setCodigo(309L);
            cedula.setFecha("2008-02-02");
            cedula.setEstado(0);
            cedula.setNombreComputador("192.168.5.101");
            int result = getCedulaVotacionService().modificarCedulaVotacion(cedula);
            System.out.println("Result :" + result);
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}
